关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion来自C/C++的背景,关于减少缓存未命中的对象内存布局是至关重要的,尤其是在控制台上工作时。面向数据的设计通常优于面向对象的设计,以帮助使相关对象在内存中彼此靠近(尤其是在性能关键区域)。最近,我一直在做一些Javascript开发,我想知道Javascript社区内的普遍共识是什么。由于我在Javascript方面的经验有限,在分析时我经常惊讶地看到完全出乎意料的结果。Javascrip
在浏览器中检查javascript中的无限循环的推荐方法是什么?假设我打开Chrome,它崩溃了,有没有办法断点或以某种方式查明崩溃发生的位置?然后我想知道,我如何在浏览器中查看正在执行的脚本的运行列表(比如我忘记跟踪的某个计时器正在运行并且它正在减慢速度)?最好在Chrome/Safari中使用,但Firefox也可以。我一直在使用元素检查器/控制台,只是还没有想出有效调试这3个东西的方法。谢谢! 最佳答案 1。内存泄漏MicrosoftJavaScriptMemoryLeakDetector(即)Drip(即)Leakmonit
是否有任何适用于Firefox的附加组件,我可以使用它来找出部分JavaScript导致内存泄漏的原因? 最佳答案 我没有firefox的东西,但Chrome中的webkit检查器有一个内置的分析器,非常适合这类事情。作为额外的好处,它还会向您显示所有浏览器事件,例如重绘,因此您可以设计您的代码以将对浏览器的影响降到最低。 关于javascript-使用Firebug查找JavaScript中的内存泄漏?,我们在StackOverflow上找到一个类似的问题:
我正在使用这个简单的html文件重现我发现的内存泄漏:varapp=angular.module('testApp',[]);app.directive('directive1',function(){return{template:'',scope:true};});app.directive('directive2',function(){functionLeakObject(){}functionFoo(){this.bar=function($scope){$scope.nottheredude;};}return{scope:true,link:function($scope
我正在考虑使用WebGL和相关技术用JavaScript编写游戏。我想让游戏尽可能智能,所以我正在研究监控CPU/内存使用情况。例如:对于高CPU使用率,缩减图形或将计算卸载到服务器对于高内存使用率,将数据卸载到服务器进行存储(以及稍后检索)我想获取Chrome在其任务管理器中提供的数据。我知道如何跟踪FPS,这可以带来一定的灵active,但我希望获得尽可能多的信息。主要用例是“低功耗”模式,其中CPU使用率尽可能低(对于笔记本电脑)或用户浏览论坛等时的空闲模式。我知道如何使用分析器,但我想从JavaScript访问这些工具。这可能吗?如果没有,您是否知道是否已提出标准化?我愿意接受
如果我有一个只有数字键的Javascript列表,这会占用更少的内存吗?vararray=[];array[0]='hello';array[5]='world';array[50]='foobar';varobj={};obj[0]='hello';obj[5]='world';obj[50]='foobar';我不太了解Javascript引擎的内部结构,所以...我问的原因是因为该数组在转换为字符串时,中间会有一堆未定义的。那些实际上是以某种方式存储的,还是只是在字符串转换时放入的? 最佳答案 数组基本上是与单个变量名称关联的
编辑:这只是一个简单的例子,用来说明我对一个更大的程序的担忧。我不会将这个实际代码用于任何事情:)如果我运行这个-functionupdate(amount,win,data){win.innerText='Countis'+amount;setTimeout(function(){update(amount+1,win,{data:'something'})},1000);}window.onload=function(){varwin=document.getElementById('item');update(0,win,0);}对setTimeout的调用可能会创建一个闭包,该
情况:我正在开发一个相当复杂的单页Backbone应用程序,它可能会连续运行8-12小时以上。因此,需要确保应用程序不会泄漏,也不会因X小时后崩溃或速度急剧下降而出名。应用:该应用基于Backbone构建(mv*),Zepto(类似于jquery),Curl(amd装载机)&Mustache(模板化)。问题:我刚刚征服了事件监听器。垃圾收集器似乎在清理这些家伙方面做得很好,但DOM节点数不会停止攀升。问题:是否有适当的方法来处理DOM节点,以便它们被正确地垃圾收集,或者这个DOM节点计数是一个永远不会减少的运行总数?有没有人知道这些框架中的任何一个不能很好地处理DOM节点?可能是mus
我正在开发一个应用程序,它使用TinyMCE编辑器来允许用户修改内容。我开发了一个Prototype.js类,它在初始化时生成一个唯一的ID并在上创建一个TinyMCE编辑器用那个ID。下面是一些相关代码:Region=Class.create({initialize:function(options){this._editorReady=false;this._index=Region.nextIndex++;this._uid=com.digitalfruition.Customizer.TypeRegion.uidPrefix+this._index;Region.instanc
总结为什么每次$compile运行时以下plunkr都会导致内存泄漏?http://plnkr.co/edit/HhB4croPKuN5TP2NPqq6代码解释我正在编写一个有时需要完全重新呈现其HTML的指令。它通过将其模板生成为字符串,然后将该字符串提供给$compile,最后使用jQuery删除旧DOM并将其替换为新呈现的元素来实现这一点。每次执行此操作时,应用程序都会泄漏几兆字节的内存,通常会使浏览器崩溃。Chrome堆快照显示每次都会添加分离的DOM元素树,但由于某种原因,Plunkr没有这个问题(尽管它仍然泄漏很多)。我做错了什么导致内存泄漏?“什么?生成字符串模板并重新编